<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ElementoDAO
 *
 * @author Administrador
 */
require_once 'DAO.php';
require_once '../TO/Elemento.php';

class ElementoDAO extends DAO {
    //put your code here
    /**
     * Método que grava um elemento no banco de dados
     * @param Elemento $objElemento
     * @return o número de id da nova inserção
     */
    public function inserir(Elemento $objElemento){
	$this->execute("INSERT INTO elemento (idfluxograma,posicaoY, posicaoX, largura, altura, texto,ativo) VALUES (?,?,?,?,?,?,?)",
                array($objElemento->getIdFluxograma(),$objElemento->getPosicaoY(),$objElemento->getPosicaoX(),$objElemento->getLargura(),$objElemento->getAltura(),$objElemento->getTexto(),$objElemento->getAtivo()));
	return $this->getId('idelemento');                
     }	
    /**
     * Método que altera os dados de um elemento
     * @param Elemento $objElemento 
     */
    public function alterar(Elemento $objElemento ){
	    $this->execute("UPDATE elemento SET posicaoY=?,posicaoX=?,largura=?,altura=?,texto=? WHERE idElemento= ?",
                    array($objElemento->getPosicaoY(),$objElemento->getPosicaoX(),$objElemento->getLargura(),$objElemento->getAltura(),$objElemento->getTexto(),$objElemento->getId()));
	}
    /**
     * Método que exclui um elemento (exclusão lógica)
     * @param Elemento $objElemento 
     */
    public function excluir(Elemento $objElemento){
		$this->execute("UPDATE comentario SET ativo=? WHERE idcomentario= ?",array(false,$objElemento->getId()));
    }
    /**
     * Seleciona um elemento através do id
     * @param Elemento $objElemento
     * @return elemento selecionado 
     */
    public function selecionarElemento(Elemento $objElemento){
        $row=$this->getRow("SELECT * FROM elemento WHERE idelemento= ?",array($objElemento->getId()));
        return $row;
    }
    /**
     * Recupera os elementos relacionados a um fluxograma
     * @param type $idFluxograma
     * @return o resultado da seleção
     */
    public function listarElementos($idFluxograma){
        $result=  $this->get("SELECT * FROM elemento WHERE idfluxograma=? and ativo=?", array($idFluxograma,true));
        return $result;
    }
    
    
}

?>
